#ifndef GENERALTABLEWIDGET_H
#define GENERALTABLEWIDGET_H

#include <QTableWidget>
#include <QVariantList>

class GeneralTableWidget : public QTableWidget
{
    Q_OBJECT
  public:
    explicit GeneralTableWidget(QWidget *parent = nullptr);

    /**
     * @brief 设置行列数量
     * @param rows 行数量
     * @param cols 列数量
     */
    void setShape(int rows, int cols);

  public slots:
    /**
     * @brief 导出内容
     */
    void exportContent();

    /**
     * @brief 导入内容
     */
    void importContent();

    /**
     * @brief 添加一行内容
     * @param row 行内容
     */
    void addRecord(const QVariantList &row = QVariantList());

    /**
     * @brief 插入行内容
     * @param row 行内容
     */
    void insertRecord(const QVariantList &row = QVariantList());

    /**
     * @brief 删除所有选中的行
     */
    void deleteSelectedRows();

  signals:
};

#endif // GENERALTABLEWIDGET_H
